<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

<html><head><title>Function Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version 1.4 -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org -->




<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar><a href="#Symbols">$#!</a> &middot; 0-9 &middot; <a href="#A">A</a> &middot; B &middot; <a href="#C">C</a> &middot; <a href="#D">D</a> &middot; E &middot; F &middot; G &middot; H &middot; <a href="#I">I</a> &middot; J &middot; K &middot; <a href="#L">L</a> &middot; <a href="#M">M</a> &middot; <a href="#N">N</a> &middot; O &middot; P &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="Symbols"></a>$#!</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>$</span><div class=ISubIndex><a href="../files/mjs-js.html#M4x4.M4x4.$" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=IParent>M4x4.M4x4</a><a href="../files/mjs-js.html#V3.V3.$" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=IParent>V3.V3</a></div></td></tr><tr><td class=IHeading><a name="A"></a>A</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.add" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>add</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>clone</span><div class=ISubIndex><a href="../files/mjs-js.html#M4x4.M4x4.clone" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=IParent>M4x4.M4x4</a><a href="../files/mjs-js.html#V3.V3.clone" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=IParent>V3.V3</a></div></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.cross" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>cross</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=IHeading><a name="D"></a>D</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.direction" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>direction</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.dot" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>dot</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=IHeading><a name="I"></a>I</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.inverseOrthonormal" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>inverseOrthonormal</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.inverseTo3x3" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>inverseTo3x3</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.length" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>length</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.lengthSquard" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>lengthSquard</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=IHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeFrustum" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>makeFrustum</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeLookAt" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>makeLookAt</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeOrtho" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>makeOrtho</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makePerspective" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>makePerspective</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeRotate" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>makeRotate</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeScale" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>makeScale</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeScale1" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>makeScale1</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeScale3" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>makeScale3</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeTranslate" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>makeTranslate</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeTranslate1" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>makeTranslate1</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.makeTranslate3" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>makeTranslate3</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.mul" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>mul</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=IHeading><a name="N"></a>N</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.neg" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>neg</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.normalize" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>normalize</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.rotate" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')" class=ISymbol>rotate</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.scale" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')" class=ISymbol>scale</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.scale1" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')" class=ISymbol>scale1</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.scale3" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')" class=ISymbol>scale3</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#V3.V3.sub" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')" class=ISymbol>sub</a>, <span class=IParent>V3.V3</span></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.topLeft3x3" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')" class=ISymbol>topLeft3x3</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.translate" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')" class=ISymbol>translate</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.translate1" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')" class=ISymbol>translate1</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.translate3" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')" class=ISymbol>translate3</a>, <span class=IParent>M4x4.M4x4</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/mjs-js.html#M4x4.M4x4.transpose" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')" class=ISymbol>transpose</a>, <span class=IParent>M4x4.M4x4</span></td></tr></table>
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.$ = function M4x4_$(</td><td class=PParameter nowrap>m00,</td></tr><tr><td></td><td class=PParameter nowrap>m01,</td></tr><tr><td></td><td class=PParameter nowrap>m02,</td></tr><tr><td></td><td class=PParameter nowrap>m03,</td></tr><tr><td></td><td class=PParameter nowrap>m04,</td></tr><tr><td></td><td class=PParameter nowrap>m05,</td></tr><tr><td></td><td class=PParameter nowrap>m06,</td></tr><tr><td></td><td class=PParameter nowrap>m07,</td></tr><tr><td></td><td class=PParameter nowrap>m08,</td></tr><tr><td></td><td class=PParameter nowrap>m09,</td></tr><tr><td></td><td class=PParameter nowrap>m10,</td></tr><tr><td></td><td class=PParameter nowrap>m11,</td></tr><tr><td></td><td class=PParameter nowrap>m12,</td></tr><tr><td></td><td class=PParameter nowrap>m13,</td></tr><tr><td></td><td class=PParameter nowrap>m14,</td></tr><tr><td></td><td class=PParameter nowrap>m15</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new 4x4 matrix with the given values.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.$ = function V3_$(</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PParameter nowrap>z</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new 3-element vector with the given values.</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.add = function V3_add(</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Perform r = a + b.</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.clone = function M4x4_clone(</td><td class=PParameter nowrap>m</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Clone the given 4x4 matrix.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.clone = function V3_clone(</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Clone the given 3-element vector.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.cross = function V3_cross(</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Perform r = a x b.</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.direction = function V3_direction(</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Perform r = (a - b) / |a - b|. </div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.dot = function V3_dot(</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PParameter nowrap>b</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Perform r = dot(a, b).</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.inverseOrthonormal = function M4x4_inverseOrthonormal(</td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Computes the inverse of the given matrix m, assuming that the matrix is orthonormal.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.inverseTo3x3 = function M4x4_inverseTo3x3(</td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Computes the inverse of the given matrix m, but calculates only the top left 3x3 values of the result.</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.length = function V3_length(</td><td class=PParameter nowrap>a</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Perform r = |a|.</div></div><div class=CToolTip id="tt12"><div class=CFunction>Perform r = |a|*|a|.</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeFrustum = function M4x4_makeFrustum(</td><td class=PParameter nowrap>left,</td></tr><tr><td></td><td class=PParameter nowrap>right,</td></tr><tr><td></td><td class=PParameter nowrap>bottom,</td></tr><tr><td></td><td class=PParameter nowrap>top,</td></tr><tr><td></td><td class=PParameter nowrap>znear,</td></tr><tr><td></td><td class=PParameter nowrap>zfar,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a matrix for a projection frustum with the given parameters.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeLookAt = function M4x4_makeLookAt (</td><td class=PParameter nowrap>eye,</td></tr><tr><td></td><td class=PParameter nowrap>center,</td></tr><tr><td></td><td class=PParameter nowrap>up,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeOrtho = function M4x4_makeOrtho (</td><td class=PParameter nowrap>left,</td></tr><tr><td></td><td class=PParameter nowrap>right,</td></tr><tr><td></td><td class=PParameter nowrap>bottom,</td></tr><tr><td></td><td class=PParameter nowrap>top,</td></tr><tr><td></td><td class=PParameter nowrap>znear,</td></tr><tr><td></td><td class=PParameter nowrap>zfar,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a matrix for an orthogonal frustum projection with the given parameters.</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makePerspective = function M4x4_makePerspective (</td><td class=PParameter nowrap>fovy,</td></tr><tr><td></td><td class=PParameter nowrap>aspect,</td></tr><tr><td></td><td class=PParameter nowrap>znear,</td></tr><tr><td></td><td class=PParameter nowrap>zfar,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a matrix for a perspective projection with the given parameters.</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeRotate = function M4x4_makeRotate(</td><td class=PParameter nowrap>angle,</td></tr><tr><td></td><td class=PParameter nowrap>axis,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a transformation matrix for rotation by angle radians about the 3-element vector axis.</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeScale = function M4x4_makeScale(</td><td class=PParameter nowrap>v,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a transformation matrix for scaling each of the x, y, and z axes by the amount given in the corresponding element of the 3-element vector.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeScale1 = function M4x4_makeScale1(</td><td class=PParameter nowrap>k,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a transformation matrix for a uniform scale by a single scalar value.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeScale3 = function M4x4_makeScale3(</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PParameter nowrap>z,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a transformation matrix for scaling by 3 scalar values, one for each of the x, y, and z directions.</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeTranslate = function M4x4_makeTranslate (</td><td class=PParameter nowrap>v,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeTranslate1 = function M4x4_makeTranslate1 (</td><td class=PParameter nowrap>k,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.makeTranslate3 = function M4x4_makeTranslate3(</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PParameter nowrap>z,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.mul = function M4x4_mul(</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Performs r = a * b.</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.neg = function V3_neg(</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Perform r = - a.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.normalize = function V3_normalize(</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Perform r = a / |a|.</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.rotate = function M4x4_rotate(</td><td class=PParameter nowrap>angle,</td></tr><tr><td></td><td class=PParameter nowrap>axis,</td></tr><tr><td></td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Concatenates a rotation of angle radians about the axis to the give matrix m.</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.scale = function V3_scale(</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PParameter nowrap>k,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Perform r = a * k.</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.scale1 = function M4x4_scale1(</td><td class=PParameter nowrap>k,</td></tr><tr><td></td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.scale3 = function M4x4_scale3(</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PParameter nowrap>z,</td></tr><tr><td></td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>V3.sub = function V3_sub(</td><td class=PParameter nowrap>a,</td></tr><tr><td></td><td class=PParameter nowrap>b,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Perform r = a - b.</div></div><!--END_ND_TOOLTIPS-->


<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.topLeft3x3 = function M4x4_topLeft3x3(</td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Return the top left 3x3 matrix from the given 4x4 matrix m.</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.translate = function M4x4_translate (</td><td class=PParameter nowrap>v,</td></tr><tr><td></td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.translate1 = function M4x4_translate1 (</td><td class=PParameter nowrap>k,</td></tr><tr><td></td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.translate3 = function M4x4_translate3 (</td><td class=PParameter nowrap>x,</td></tr><tr><td></td><td class=PParameter nowrap>y,</td></tr><tr><td></td><td class=PParameter nowrap>z,</td></tr><tr><td></td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>M4x4.transpose = function M4x4_transpose (</td><td class=PParameter nowrap>m,</td></tr><tr><td></td><td class=PParameter nowrap>r</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->

</div><!--Index-->


<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->


<div id=Menu><div class=MEntry><div class=MFile><a href="../files/mjs-js.html">mjs</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Functions</div></div><div class=MEntry><div class=MIndex><a href="Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="Constants.html">Constants</a></div></div></div></div></div><script type="text/javascript"><!--
var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option></select></div></div><!--Menu-->


<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>


<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>